package com.mydomain.Bodega;
// Generated 28/05/2012 10:45:58 PM by Hibernate Tools 3.2.2.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.validator.NotNull;

/**
 * BienMovimiento generated by hbm2java
 */
@Entity
@Table(name = "bien_movimiento", schema = "public")
public class BienMovimiento implements java.io.Serializable {

	private long bienCodigo;
	private BienDetalle bienDetalle;
	private BienPersona bienPersona;
	private Date moviFecha;
	private Integer moviCodigo;

	public BienMovimiento() {
	}

	public BienMovimiento(long bienCodigo, BienDetalle bienDetalle) {
		this.bienCodigo = bienCodigo;
		this.bienDetalle = bienDetalle;
	}
	public BienMovimiento(long bienCodigo, BienDetalle bienDetalle,
			BienPersona bienPersona, Date moviFecha, Integer moviCodigo) {
		this.bienCodigo = bienCodigo;
		this.bienDetalle = bienDetalle;
		this.bienPersona = bienPersona;
		this.moviFecha = moviFecha;
		this.moviCodigo = moviCodigo;
	}

	@Id
	@Column(name = "bien_codigo", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	public long getBienCodigo() {
		return this.bienCodigo;
	}

	public void setBienCodigo(long bienCodigo) {
		this.bienCodigo = bienCodigo;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "bien_codigo", unique = true, nullable = false, insertable = false, updatable = false)
	@NotNull
	public BienDetalle getBienDetalle() {
		return this.bienDetalle;
	}

	public void setBienDetalle(BienDetalle bienDetalle) {
		this.bienDetalle = bienDetalle;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "per_codigo")
	public BienPersona getBienPersona() {
		return this.bienPersona;
	}

	public void setBienPersona(BienPersona bienPersona) {
		this.bienPersona = bienPersona;
	}
	@Temporal(TemporalType.DATE)
	@Column(name = "movi_fecha", length = 13)
	public Date getMoviFecha() {
		return this.moviFecha;
	}

	public void setMoviFecha(Date moviFecha) {
		this.moviFecha = moviFecha;
	}

	@Column(name = "movi_codigo", precision = 5, scale = 0)
	public Integer getMoviCodigo() {
		return this.moviCodigo;
	}

	public void setMoviCodigo(Integer moviCodigo) {
		this.moviCodigo = moviCodigo;
	}

}
